// 用户

var exp = require('express')
var router = exp.Router()
var {User, Collect} = require('../libs/mongoose')

// 用户注册
router.post('/register',(req,res)=>{
    console.log(req.body);
    User.find({name:req.body.name},function(err,datas){
        // console.log(datas);
        if(!err && datas.length > 0){
            res.send({
                code:0,
                msg:'该用户名已存在！'
            })
        }else{
            User(req.body).save(function(err){
                if(!err){
                    res.send({
                        code:1,
                        msg:'注册成功！'
                    })
                }else{
                    res.send({
                        code:2,
                        msg:'注册失败！'
                    })
                }
                
            })
        }
    })
})

// 用户登录
router.post('/login',(req,res)=>{
    User.findOne({name:req.body.name},(err,data)=>{
        if(!err && data){
            if(req.body.psw == data.psw){
                res.cookie('name',data.name)
                res.send({
                    code:1,
                    msg:'登录成功！'
                })
            }else{
                res.send({
                    code:0,
                    msg:'密码错误！'
                })
            }
        }else if(!err && !data){
            res.send({
                code:-1,
                msg:'该用户名不存在！'
            })
        }else if(err){
            res.send({
                code:-2,
                msg:'发生错误！'
            })
        }
    })
})

// 退出登录
router.get('/logout',(req,res)=>{
    res.clearCookie('name')
    res.send('退出成功~')
})

// 修改密码
router.post('/alterPsw',(req,res)=>{
    User.updateOne({name:req.body.name},req.body,(err)=>{
        if(!err){
            res.send({
                code:1,
                msg:'修改密码成功！'
            })
        }else{
            res.send({
                code:0,
                msg:'修改密码失败！'
            })
        }
    })
})

// 上传头像
router.post('/upload',(req,res)=>{
    User.updateOne({name:req.cookies.name},req.body,(err)=>{
        if(!err){
            res.send({
                code:1,
                msg:'上传成功！'
            })
        }else{
            res.send({
                code:0,
                msg:'上传失败！'
            })
        }
    })
})

// 收藏歌曲
router.get('/collect',(req,res)=>{
    User.findOne({name:req.cookies.name},(err,x)=>{
        if(!err && x){
            Collect.findOne({sid:req.query.id,userinfo:x.id},(err,data)=>{
                if(!err && data){
                    res.send({
                        code:0,
                        msg:'该歌曲已收藏，是否取消收藏？'
                    })
                }else{
                    User.findOne({name:req.query.name},(err,data)=>{
                        if(!err && data){
                            Collect({sid:req.query.id,userinfo:data.id,song:req.query.song}).save(function(err){
                                if(!err){
                                    res.send({
                                        code:1,
                                        msg:'收藏成功！'
                                    })
                                }else{
                                    res.send({
                                        code:2,
                                        msg:'收藏失败！'
                                    })
                                }
                            })
                        }
                    })
                    
                }
            })
        }
    })
    
})

// 取消收藏
router.get('/cancel',(req,res)=>{
    User.findOne({name:req.cookies.name},(err,x)=>{
        Collect.deleteOne({sid:req.query.id,userinfo:x.id},(err)=>{
            if(!err){
                res.send({
                    code:1,
                    msg:'取消收藏成功！'
                })
            }else{
                res.send({
                    code:0,
                    msg:'取消收藏失败！'
                })
            }
        })
    })
    
})


module.exports = router